package com.dsg.entity.account;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 油咭總帳
 * </p>
 *
 * @author system
 * @since 2020-07-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dsg_account_card")
@ApiModel(value = "DsgAccountCard对象", description = "油咭總帳")
public class DsgAccountCard implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("OID")
    private String oid;

    @ApiModelProperty(value = "客戶/公司編號")
    @TableField("CUS_NO")
    private String cusNo;

    @ApiModelProperty(value = "油公司")
    @TableField("OIL_COM")
    private String oilCom;

    @ApiModelProperty(value = "咭號")
    @TableField("CARD_NO")
    private String cardNo;

    @ApiModelProperty(value = "結餘金额")
    @TableField("BALANCE_VALUE")
    private BigDecimal balanceValue;

    @ApiModelProperty(value = "结欠金額")
    @TableField("ARREARS_VALUE")
    private BigDecimal arrearsValue;

    @ApiModelProperty(value = "交易账目主键")
    @TableField("TRADE_ID")
    private String tradeId;

    /**
     * 企業編號
     */
    @TableField(value = "ENT_CODE")
    @ApiModelProperty(value = "企業編號", name = "entCode")
    private String entCode;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATER")
    private String creater;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @TableField("UPDATER")
    private String updater;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    private Date updateTime;

    @ApiModelProperty(value = "版本號")
    @TableField("VERSION")
    @Version
    private int version;

    @ApiModelProperty(value = "待过数金额")
    @TableField("WAIT_POST_VALUE")
    private BigDecimal waitPostValue;

    /**
     * 支付銀行卡號/帳戶編號
     */
    @ApiModelProperty(value = "支付銀行卡號/帳戶編號")
    @TableField(exist = false)
    private String payAccountNo;

    /**
     * 支付銀行名稱/帳戶名稱
     */
    @ApiModelProperty(value = "支付銀行名稱/帳戶名稱")
    @TableField(exist = false)
    private String payAccountName;

    /**
     * 收款帳戶編號
     */
    @ApiModelProperty(value = "收款帳戶編號")
    @TableField(exist = false)
    private String accountNo;

    /**
     * 收款帳戶名稱
     */
    @ApiModelProperty(value = "收款帳戶名稱")
    @TableField(exist = false)
    private String accountName;
    /**
     * 待處理
     */
    @ApiModelProperty(value = "待處理")
    @TableField(exist = false)
    private BigDecimal pending;
    /**
     * 處理中
     */
    @ApiModelProperty(value = "處理中")
    @TableField(exist = false)
    private BigDecimal processing;
    /**
     * 油費回贈
     */
    @ApiModelProperty(value = "油費回贈")
    @TableField(exist = false)
    private BigDecimal coupon;
    /**
     * 油咭狀況
     */
    @ApiModelProperty(value = "油咭狀況")
    @TableField(exist = false)
    private String oilCardStatus;
    /**
     * 油咭類型
     */
    @ApiModelProperty(value = "油咭類型")
    @TableField(exist = false)
    private String cardType;
    /**
     * 卡狀態
     */
    @ApiModelProperty(value = "卡狀態")
    @TableField(exist = false)
    private String cardStatus;

}
